//=============================================================================
/**
 * @file	comm_command_field.h
 * @brief	通信のコマンド一覧  フィールド用
 * @author	Katsumi Ohno
 * @date    2005.11.07
 */
//=============================================================================

#ifndef __COMM_COMMAND_FIELD_H__
#define __COMM_COMMAND_FIELD_H__

#include "communication/comm_command.h"






/// フィールド専用通信コマンドの定義。
enum CommCommandField_e {
  CF_PLAYER_POS = CS_COMMAND_MAX,              ///< プレーヤーの座標を送る
  CF_PLAYER_POS_ID,           ///< 指定のプレーヤーの座標を送る
  CF_DUMMY_1,
  CF_DUMMY_2,
  CF_DUMMY_3,
  CF_DUMMY_4,
  CF_DUMMY_5,
  CF_DUMMY_6,
  CF_DUMMY_7,
  CF_DUMMY_8,
  CF_DUMMY_9,
  CF_DUMMY_a,
  CF_DUMMY_b,
  CF_DUMMY_c,
  CF_DUMMY_d,
  CF_DUMMY_e,
  CF_DUMMY_f,
  CF_DUMMY_g,
  CF_DUMMY_h,
  CF_DUMMY_i,
  CF_DUMMY_j,
  CF_DUMMY_k,
  CF_DUMMY_l,
  CF_DUMMY_m,
  CF_DUMMY_n,
  CF_DUMMY_o,
  CF_DUMMY_p,
  CF_DUMMY_q,
  CF_DUMMY_r,
  CF_DUMMY_s,
  CF_PLAYER_DELETE,   ///< プレーヤーの消去
  CF_DUMMY_t,
  CF_DUMMY_u,
  CF_DUMMY_v,
  CF_DUMMY_w,
  CF_DUMMY_x,
  CF_DUMMY_y,
  CF_DUMMY_z,
  CF_DUMMY_01,
  CF_DUMMY_02,
  CF_MOVE_CONTROL,        ///< 移動コントロール状態を送信する
  CF_DUMMY_03,
  CF_DUMMY_04,
  CF_DUMMY_05,
  CF_DUMMY_06,
  CF_DUMMY_07,
  CF_DUMMY_08,
  CF_DUMMY_09,
  CF_DUMMY_0a,
  CF_DUMMY_0b,
  CF_DUMMY_0c,
  CF_DUMMY_0d,
  CF_DUMMY_0e,
  CF_DUMMY_0f,
  CF_DUMMY_0g,
  CF_DUMMY_0h,
  CF_DUMMY_0i,
  CF_DUMMY_0j,
  CF_DUMMY_0k,
  CF_DUMMY_0l,
  CF_DUMMY_0m,
  CF_DUMMY_0n,
  CF_DUMMY_0o,
  CF_DUMMY_0p,
  CF_DUMMY_0q,
  CF_DUMMY_0r,
  CF_TRAINER_CARD,         ///< トレーナーカードを送る
  CF_DUMMY_0s,
  CF_DUMMY_0t,
  CF_DUMMY_0u,
  CF_DUMMY_0v,
  CF_DUMMY_0w,
  CF_DIRECT_START_SET,    ///< ダイレクトコーナースタート位置セット
  CF_DIRECT_STARTPOS,     ///< ダイレクトコーナースタート位置
  CF_DUMMY_0x,
  CF_DUMMY_0y,

  //------------------------------------------------ここからユニオンルーム用コマンド

  CU_PLAYER_STATUS,		///< ステータスの送信
  CU_PLAYER_SELECT,		///< 選択内容の送信（こうかん・チャット・カード・たいせん・やめたい）
  CU_TALK_TALK,			///< 会話データの送信
  CU_BATTLE_PLIST_RET,	///< 戦闘前ポケモンリストの選択結果（選択した・キャンセルした）
  CU_TALK_NO,			///< いいえ
  CU_START_NEXT,		///< 交換・戦闘・チャット・カードへの移動開始
  CU_END_CONNECT_SERVER,///< 親機が通信切断を通知
  CU_TRAINER_CARD,		///< トレーナーカードデータを受信

  //------------------------------------------------ここからミックスバトル用コマンド

  CF_MIXBATTLE,			///< ミックスバトル（相手メンバーが送られてくる）
  CF_MIXBATTLE_TRADE,	///< ミックスバトル（交換ポケモンのインデックスが送られてくる）


  //------------------------------------------------ここまで

  //------------------------------------------------ここからレコードコーナー用

  CR_RECORD_YES,							///< はい
  CR_RECORD_NO,								///< いいえ
  CR_RECORD_STOP,							///< 乱入者が来たので一旦ストップ
  CR_RECORD_RESTART,						///< 乱入者処理が終わったので再会
  CR_RECORD_END_CHILD,						///< 子機が離脱
  CR_RECORD_END,							///< 終了
  CR_RECORD_CHILD_JOIN,						///< 子機が乱入を宣言
  CR_RECORD_START,							///< 親機がレコード開始を通達
  CR_RECORD_DATA,  							///< レコードデータ送信
  CR_RECORD_BAN,							///< 離脱禁止・許可
  //------------------------------------------------ここまで

  //------------------------------------------------ここからお絵かきボード専用通信コマンド

  CO_OEKAKI_GRAPHICDATA, 					///< みんなで描いていた画像データ
  CO_OEKAKI_LINEPOS,						///< タッチパネルで取得したポジションデータ
  CO_OEKAKI_LINEPOSSERVER,					///< タッチパネルで取得したポジションデータ
  CO_OEKAKI_YES,							///< はい
  CO_OEKAKI_NO,								///< いいえ
  CO_OEKAKI_STOP,							///< 乱入者が来たので一旦ストップ
  CO_OEKAKI_RESTART,						///< 乱入者処理が終わったので再会
  CO_OEKAKI_END_QUESTION,					///< 終了
  CO_OEKAKI_END_CHILD,						///< 子機が離脱
  CO_OEKAKI_END,							///< 終了
  CO_OEKAKI_CHILD_JOIN,						///< 子機が乱入を宣言
  CO_OEKAKI_OUT_CONTROL,				    ///< 離脱禁止信号

  //------------------------------------------------ここまで

  //------------------------------------------------ここからぐるぐる交換専用通信コマンド

  CG_GURU2_CMD,								///< ぐるぐる交換
  CG_GURU2_EGG,								///< ぐるぐる交換たまご

  //------------------------------------------------ここまで

  //------------------------------------------------ここからフロンティアフィールド専用通信コマンド

  //FC_FLD_STAGE_MONSNO,//ステージ(フィールド)
  //FC_FLD_CASTLE_MONSNO,//キャッスル(フィールド)
  //FC_FLD_ROULETTE_MONSNO,//ルーレット(フィールド)
  CF_STAGE_MONSNO,							//ステージ(フィールド)
  CF_CASTLE_MONSNO,							//キャッスル(フィールド)
  CF_ROULETTE_MONSNO,						//ルーレット(フィールド)

  //------------------------------------------------ここまで

  CF_COMMAND_MAX   // 終端--------------これは移動させないでください
};

extern void CommCommandFieldInitialize(void* pWork);
extern int _getRecordSize(void);
extern int _getPictureSize(void);
extern int _getLinePosSize(void);
extern int _getLinePosServerSize(void);
extern void CommDummyCallBack( int netID, int size, void* pBuff, void* pWork );













#endif// __COMM_COMMAND_FIELD_H__
